[Xamarin] ネットワーク状態確認を Connectivity Plugin から Xamarin.Essentials に移行してみた
Xamarin製アプリでネットワーク状態を確認する方法について、「ConnectivityPlugin」から「Xamarin.Essentials」に移行してみました。
Xamarin製アプリでネットワーク状態を確認するとき、下記のライブラリにお世話になっています。
- https://github.com/jamesmontemagno/ConnectivityPlugin
このネットワーク状態確認の機能をXamarin.Essentialsに移行してみました。
Xamarin.EssentialsのConnectivityに移行する
既存プロジェクトにXamarin.Essentialsを導入(更新)する
Xamarin.Essentialsを導入します。
コードを修正する
変更前のコード
Xam.Plugin.Connectivityを使用しているコード例です。
using Plugin.Connectivity; namespace Sample.Models { public class Sample { public Sample() { if (CrossConnectivity.Current.IsConnected) { // ネットワーク接続: OK } else { // ネットワーク接続: NG } } } }
変更後のコード
Xamarin.Essentialsを使用するように変更したコードです。NetworkAccess.Internet
以外の値や他のメソッド等については、ドキュメントを参照してください。
using Plugin.Connectivity; namespace Sample.Models { public class Sample { public Sample() { if (Connectivity.NetworkAccess == NetworkAccess.Internet) { // ネットワーク接続: OK } else { // ネットワーク接続: NG } } } }
なお、上記はインターネットにアクセスしているかを判定していますが、保証はされていません(Wi-Fi接続されているが、ルーターから先がインターネット接続されていない場合など)。
ConnectivityPluginを削除
最後に今まで使っていたConnectivityPluginを削除します。ありがとうございました!